package com.giveu.signature.module.template.model;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import com.giveu.common.bean.BaseEntity;
import lombok.Data;
/**
 * <p>
 * 签章信息配置
 * </p>
 *
 * @author zhaoruding
 * @since 2019-11-12
 */
@Data
@Table(name="signature_config")
public class SignatureConfig extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
	@Id
	private Long id;
    /**
     * 签章编码
     */
	@Column(name="sign_code")
	private String signCode;
    /**
     * 签章名称
     */
	@Column(name="sign_name")
	private String signName;
    /**
     * 签章版本号
     */
	@Column(name="sign_version")
	private Integer signVersion;
    /**
     * 签章状态(0=草稿状态,1=发布状态,-1=无效状态)
     */
	@Column(name="sign_status")
	private Integer signStatus;
    /**
     * 签章类型(LAYER=图层,SIGN=签名)
     */
	@Column(name="sign_flag")
	private Integer signFlag;
    /**
     * 签名认证类型(LOCAL=本地)
     */
	@Column(name="sign_auth")
	private String signAuth;
	@Column(name="keystore_type")
	private String keystoreType;
    /**
     * 签名文件地址
     */
	@Column(name="keystore_url")
	private String keystoreUrl;
    /**
     * 签名文件密码
     */
	@Column(name="keystore_password")
	private String keystorePassword;
	@Column(name="crypto_standard")
	private String cryptoStandard;
	@Column(name="digest_algorithm")
	private String digestAlgorithm;
    /**
     * 图章地址
     */
	@Column(name="image_url")
	private String imageUrl;
	@Transient
	private String imagePath;
    /**
     * 图章类型
     */
	@Column(name="certification_level")
	private Integer certificationLevel;
    /**
     * 表现形式：仅描述，仅图片，图片和描述，签章者和描述
     */
	@Column(name="rendering_mode")
	private String renderingMode;
	@Column(name="create_time")
	private Date createTime;
	@Column(name="create_user")
	private String createUser;
	@Column(name="update_time")
	private Date updateTime;
	@Column(name="update_user")
	private String updateUser;
	
	@Transient
	private boolean modify;
	@Transient
	private Integer maxVersion;
	@Transient
	private String keystorePath;
}
